Distributed Aspects: better separation of crosscutting concerns in distributed software systems

نویسنده

  • Luis Daniel Benavides Navarro
چکیده

This thesis shows that abstractions provided by current mainstream Object Oriented (OO) languages are not enough to address the modularization of distributed and concurrent algorithms, protocols, or architectures. In particular, we show that code implementing concurrent and distributed algorithms is scattered and tangled in the main implementation of JBoss Cache, a real industrial middleware application. We also show that not only code is tangled, but also conceptual algorithms are hidden behind object-based structures (i.e., they are not visible in the code). Additionally, we show that such code is resilient to modularization. Thus, we show that several cycles of re-engineering (we study the evolution of three different version of JBoss Cache) using the same set of OO abstractions do not improve on the modularization of distributed and concurrent code. From these findings we propose a novel Aspect Oriented programming language with explicit support for distribution and concurrency (AWED). The language uses aspects as main abstractions and propose a model for distributed aspects and remote pointcuts, extending sequential approaches with support for regular sequences of distributed events. The language also proposes advanced support for the manipulation of groups of host, and the fine-grained deterministic ordering of distributed events. To evaluate the proposal we perform several experiments in different domains: refactoring and evolution of replicated caches, development of automatic toll systems, and debugging and testing of distributed applications. Finally, using this general model for distribution we provide two additional contributions. First, we introduce Invasive Patterns, an extension to traditional communication patterns for distributed applications. Invasive Patterns present an aspect-based language to express protocols over distributed topologies considering different coordination strategies (Architectural programming). The implementation of this approach is leveraged by the distributed features of AWED and is realized by means of a transformation into it. Second, we add the deterministic manipulation of distributed messages to our model by means of causally ordered protocols.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Versatile Kernel for Distributed AOP

Aspect-Oriented Programming (AOP) promotes better separation of concerns in software systems by introducing aspects for the modular implementation of crosscutting concerns. As a result, modularity and adaptability of software systems are greatly enhanced. To date, very few AOP proposals take distribution into account. This paper considers the explicit introduction of distribution in AOP, by pro...

متن کامل

Using Reflexd for a Grid Solution to the N-queens Problem: a Case Study

Aspect-Oriented Programming (AOP) promotes better separation of concerns in software systems by introducing aspects for the modular implementation of crosscutting concerns. It is therefore not surprising that the distribution concern is recently being addressed from anAOP point of view, and finallymaterialized in AOP frameworks like ReflexD or languages like AWED. The motivation of this paper i...

متن کامل

Weaving Deployment Aspects into Domain-specific Models

Domain-specific models increase the level of abstraction used to develop largescale component-based systems. Model-driven development approaches (e.g., ModelIntegrated Computing and Model-Driven Architecture) emphasize the use of models at all stages of system development. Decomposing problems using pure model-driven approaches, however, sometimes results in a separation of the artifacts in a w...

متن کامل

Aspect-Oriented Requirements Engineering for Advanced Separation of Concerns: A Review

Software engineering was introduced to cope with software crisis with two fundamental principles: separation of concerns and modularity. Many programming paradigms have been proposed and used while considering the fundamental principles from the early days. Complex software systems were successfully modularized but complete separation of concerns is still impossible to achieve using today’s mos...

متن کامل

Modularization of Distributed Web Services Using Aspects with Explicit Distribution (AWED)

With the adoption of Web services technology to realize Service Oriented Architectures, the need arises for more flexible and dynamic technologies for the just-in-time integration and composition of services. As the runtime integration, selection and management of services involves a variety of crosscutting concerns, such as error handling, service monitoring, and QoS enforcements, Aspect Orien...

متن کامل

Aspect Oriented Program Design in Distributed Application

Aspect Oriented Programming is changing the way software is developed in various domains of computing and software Engineering. In this project we discuss the main characteristics of Aspect oriented program (AOP) with a particular focus on distributed systems. Our experiments support the hypothesis that the use of Aspect oriented program will result in a better separation of concerns and thus i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009